package com.chenglu.android.mine.member.mvp.contract;



import com.chenglu.android.common.base.BaseView;
import com.chenglu.android.mine.bean.AmountTypeBean;
import com.chenglu.android.mine.bean.FansListBean;
import com.chenglu.android.mine.bean.MemberCenterBean;
import com.chenglu.android.mine.bean.MoneyBean;
import com.chenglu.android.mine.bean.PosterBean;
import com.chenglu.android.mine.bean.ReturnStringBean;

import java.util.Map;

import io.reactivex.rxjava3.core.Observable;

/**
 * @author: lyj
 * @Created by Copyright 2023/7/27 Guangzhou Hongma Technology Co., Ltd. All rights reserved.
 *
 */
public interface MemberContract {

    /**
     *
     * @description model
     *
     */

    public interface MemberModel{



        Observable<ReturnStringBean> getLevelDescriptions(String token);

        Observable<MemberCenterBean> getMemberCenterInfo(String token);

        //宣传海报
        Observable<PosterBean> getPromotionPoster(String token);

        Observable<FansListBean> getFansPage(String token,int current, int size);

        Observable<FansListBean> getConsumerPage(String token,int current,int size);




    }


    /**
     *
     * @description view
     *
     */

    interface View extends BaseView {
        @Override
        void showLoading();

        @Override
        void dismissLoading();

        @Override
        void onEmpty(Object tag);

        @Override
        void onError(String errMessage);


        void getLevelDescriptions(ReturnStringBean bean);


        void getMemberCenterInfo(MemberCenterBean bean);

        void getFansPage(FansListBean bean);

        void getConsumerPage(FansListBean bean);

        void getPromotionPoster(PosterBean bean);



    }

    /**
     *
     * @description presenter
     *
     */

    interface MemberPresenter {



        void getLevelDescriptions(String token);

        void getMemberCenterInfo(String token);

        void getPromotionPoster(String token);

        void getFansPage(String token,int current, int size);

        void getConsumerPage(String token,int current, int size);




    }
}